/*
  (C) 2005 Adam D. Bradley

  This program is free software; you can redistribute it and/or
  modify it under the terms of Version 2 of the GNU General Public 
  License.
  
  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  General Public License for more details.
  
  You should have received a copy of the GNU Library General Public
  License along with this library; if not, write to the Free
  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

package step;

import java.net.URI;
import snobject.snCommand;
import step.SocketNode;

/**
 * A SenderSocketNode is where data departs the local STEP to a remote
 * STEP via the network.  Conceptually, it is the child side of a 
 * network STEP lilnk.
 */
public abstract class SenderSocketNode extends SocketNode
{
	public SenderSocketNode(String id, String targetID, URI targetURI) {
		super(id);
		TargetID = targetID;
		TargetURI = targetURI;
	}

	public SenderSocketNode(String targetID, URI targetURI) {
		super();
		TargetID = targetID;
		TargetURI = targetURI;
	}

	protected String TargetID;
	protected URI TargetURI;


	protected void ReceiveClear(snCommand c) throws EvaluationFailure {
		ClearEvaluatedFlags();
	}

	protected void ReceiveWant(snCommand c) throws EvaluationFailure {
		SetWanted(true);
	}

	protected void ReceiveDontWant(snCommand c) throws EvaluationFailure {
		SetWanted(false);
	}

}

